Web host used or Generic host In ASP.NET Core

ASP.NET Core के अंतर्गत वेब होस्ट का उपयोग किया जाता है या जेनेरिक होस्ट का?

बहुत महत्वपूर्ण और व्यावहारिक प्रश्न है — और इसका उत्तर समय के साथ हुए विकास (evolution) को समझे बिना अधूरा रहेगा। तो चलिए इसे चरणबद्ध तरीके से साफ़-साफ़ समझते हैं।

ASP.NET Core 3.0+ और .NET 5/6/7/8 के बाद

👉 ASP.NET Core अब केवल और केवल Generic Host (IHost) का उपयोग करता है — Web Host नहीं।

WebHost अब पुराना (obsolete नहीं, पर outdated) हो चुका है।

  • NET Core 2.2 तक: WebHost.CreateDefaultBuilder() का उपयोग होता था।
  • NET Core 3.0 से: Host.CreateDefaultBuilder() आने के बाद WebHost को पीछे छोड़ दिया गया।

क्यों किया गया Generic Host का एकीकरण?

क्योंकि Microsoft ने तय किया कि:

एक Unified Hosting Model होना चाहिए जो न सिर्फ वेब ऐप्स, बल्कि बैकग्राउंड वर्कर्स, gRPC, SignalR, या Hybrid apps में भी काम कर सके।

इसलिए ASP.NET Core में अब MVC, Razor Pages, Blazor Server आदि भी Generic Host पर ही आधारित होते हैं।

ASP.NET Core 6+ में एक सरल उदाहरण:

var builder = WebApplication.CreateBuilder(args); // Internally uses Host.CreateDefaultBuilder
builder.Services.AddControllers();
var app = builder.Build();
app.MapControllers();
app.Run();

यह पूरी तरह से Generic Host API पर आधारित है, पर विशेषतः वेब के लिए "WebApplication" wrapper उपलब्ध कराया गया है।

तकनीकी दृष्टि से देखें:

// ASP.NET Core 2.2 (Web Host) IWebHostBuilder 
builder = WebHost.CreateDefaultBuilder(args); 
// ASP.NET Core 3.0+ (Generic Host)
IHostBuilder builder = Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder =>    {        
webBuilder.UseStartup<Startup>();    });

यहाँ भी देखिए: WebHostDefaults अब Generic Host के अंदर ही कॉन्फ़िगर हो रहे हैं।

निष्कर्ष:

सवाल उत्तर
क्या अब ASP.NET Core में WebHost का उपयोग होता है? नहीं, WebHost अब नहीं उपयोग किया जाता
क्या ASP.NET Core अब Generic Host का उपयोग करता है? हाँ, पूरा ASP.NET Core अब Generic Host आधारित है
क्या Web Host पूरी तरह obsolete है? नहीं, पर अब केवल पुराने प्रोजेक्ट्स में मिलता है
क्या सभी आधुनिक ASP.NET Templates Generic Host पर आधारित हैं? बिलकुल, WebApplication या Host API के माध्यम से

टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Differences between in-process and out-of-process hosting models

Web Fundamental Concepts in Hindi for Beginners - FAQs with their Answers Part-1

Introduction to ASP.NET Core and Web Frameworks